, , ,
FIXME page trop longue, créer une page pour les logiciels Wi-Fi si elle n'existe pas, puis recycler les parties des problèmes Wi-Fi avec la page Ndiswrapper : pas besoin de doublons !

Time Capsule

Accès manuel au disque (aux disques) de la time capsule

Pour accéder manuellement au disque (aux disques) de la time capsule depuis ubuntu, il est nécessaire de monter le (les) disque(s) en question :

<TC_IP> désigne l'adresse IP de la time capsule

<TC_DISK> désigne le(s) nom(s) du (des) disque(s) dur(s) time capsule

<TC_PASSWORD> désigne le mot de passe de la time capsule

sudo mkdir /mnt/<TC_DISK>
sudo mount.cifs //<TC_IP>/<TC_DISK> /mnt/<TC_DISK> -o pass=<TC_PASSWORD>, file_mode=0777,dir_mode=0777

Automatisation

Sous ubuntu 12.04 (Precise Pangolin), il est possible d'automatiser cette opération à l'aide d'un script shell à placer dans "/etc/NetworkManager/dispatcher.d/" sans oublier d' accorder les droits d’exécution à ce fichier (sudo chmod +x 99tc.sh). Ce script a été inspiré de 1), 2) et 3).

#!/bin/sh
# /etc/NetworkManager/dispatcher.d/99tc.sh
# Remplacer TIMECAPSULE_LOGIN, TIMECAPSULE_PASSWORD, TIMECAPSULE_IP, MOUNT_POINT par vos propres valeurs,
# Le script est à adapté en fonction du nombre de disques durs connectés à la time capsule
# (ici deux disques : TIME_CAPSULE_VOLUME_1 et TIME_CAPSULE_VOLUME_2)

IF=$1
STATUS=$2

# Partie à compléter

HOME_NETWORK="<Mon réseau Wifi>"

TIMECAPSULE_LOGIN="<login>"
TIMECAPSULE_PASSWORD="<password>"
TIMECAPSULE_IP="<adresse IP de la time capsule>"

MOUNT_POINT="/mnt/" 

TIMECAPSULE_VOLUME_1="<nom disque 1 time capsule>"
TIMECAPSULE_VOLUME_2="<nom disque 2 time capsule>"

# Fin de la partie à compléter


MOUNT_POINT_VOLUME_1=$MOUNT_POINT$TIMECAPSULE_VOLUME_1
MOUNT_POINT_VOLUME_2=$MOUNT_POINT$TIMECAPSULE_VOLUME_2

IS_MOUNTED_VOL_1=`mount 2> /dev/null | grep "$MOUNT_POINT_VOLUME_1" | cut -d' ' -f3`
IS_MOUNTED_VOL_2=`mount 2> /dev/null | grep "$MOUNT_POINT_VOLUME_2" | cut -d' ' -f3`

TIMECAPSULE_PATH_VOL_1="//$TIMECAPSULE_IP/$TIMECAPSULE_VOLUME_1"
TIMECAPSULE_PATH_VOL_2="//$TIMECAPSULE_IP/$TIMECAPSULE_VOLUME_2"

CHECK_DISK_VOL_1=`smbclient --user=$TIMECAPSULE_LOGIN%$TIMECAPSULE_PASSWORD -L $TIMECAPSULE_IP 2>&1 | grep -m1 -i $TIMECAPSULE_VOLUME_1`
CHECK_DISK_VOL_2=`smbclient --user=$TIMECAPSULE_LOGIN%$TIMECAPSULE_PASSWORD -L $TIMECAPSULE_IP 2>&1 | grep -m1 -i $TIMECAPSULE_VOLUME_2`


if [ "${IF}" = "wlan0" ] && [ "${STATUS}" = "up" ]; then

	ESSID=`/sbin/iwgetid --raw`
	
	case "$ESSID" in 
	$HOME_NETWORK)
	
	logger "Home wlan0 up (${ESSID})"

		if [ "$CHECK_DISK_VOL_1" ] && [ ! "$IS_MOUNTED_VOL_1" ] ;then
			logger "mounting time capsule volume 1 (${TIMECAPSULE_VOLUME_1})"
			mkdir $MOUNT_POINT_VOLUME_1
			mount.cifs -v $TIMECAPSULE_PATH_VOL_1 $MOUNT_POINT_VOLUME_1 -o pass=$TIMECAPSULE_PASSWORD,file_mode=0777,dir_mode=0777
		fi

		if [ "$CHECK_DISK_VOL_2" ] && [ ! "$IS_MOUNTED_VOL_2" ] ;then
			logger "mounting time capsule volume 2 (${TIMECAPSULE_VOLUME_2})"
			mkdir $MOUNT_POINT_VOLUME_2
			mount.cifs -v $TIMECAPSULE_PATH_VOL_2 $MOUNT_POINT_VOLUME_2 -o pass=$TIMECAPSULE_PASSWORD,file_mode=0777,dir_mode=0777
		fi
	# Automatisation pour d'autres réseaux Wifi
	esac

elif [ "${IF}" = "wlan0" ] && [ "${STATUS}" = "down" ]; then
	
	logger "Volume à démonter : ${IS_MOUNTED_VOL_1}"
	
	if [ "$IS_MOUNTED_VOL_1" ] ;then
		logger "unmounting time capsule volume 1 (${TIMECAPSULE_VOLUME_1})"
		umount -f $MOUNT_POINT_VOLUME_1
		rmdir $MOUNT_POINT_VOLUME_1
	fi
	
	logger "Volume à démonter : ${IS_MOUNTED_VOL_2}"
	
	if [ "$IS_MOUNTED_VOL_2" ] ;then
		logger "unmounting time capsule volume 2 (${TIMECAPSULE_VOLUME_2})"
		umount -f $MOUNT_POINT_VOLUME_2
		rmdir $MOUNT_POINT_VOLUME_2

	fi

fi

Lorsque le réseau wifi est déconnecté, le démontage du (des) disque(s) est très lent (environ 5 minutes), je n'en connais pas la raison. N'hésitez pas à apporter votre contribution.